Group Predictions

Row

Win percentage for the week

Season Win Percentage

Games Correct

60

Games Picked

91

Number of predictions

73

Row

This Week’s Predictions
Game Prediction Winner Correct Correct Votes Correct Percent
1 Kansas City Chiefs Kansas City Chiefs Yes 69 0.9452
2 Baltimore Ravens Baltimore Ravens Yes 59 0.8082
3 Miami Dolphins Miami Dolphins Yes 71 0.9726
4 Jacksonville Jaguars Jacksonville Jaguars Yes 59 0.8082
5 Minnesota Vikings Minnesota Vikings Yes 46 0.6301
6 New Orleans Saints Houston Texans No 17 0.2329
7 Seattle Seahawks Cincinnati Bengals No 27 0.3699
8 San Francisco 49ers Cleveland Browns No 2 0.0274
9 Atlanta Falcons Washington Commanders No 27 0.3699
10 Las Vegas Raiders Las Vegas Raiders Yes 58 0.7945
11 Los Angeles Rams Los Angeles Rams Yes 66 0.9041
12 Detroit Lions Detroit Lions Yes 57 0.7808
13 Philadelphia Eagles New York Jets No 4 0.0548
14 Buffalo Bills Buffalo Bills Yes 70 0.9589
15 Dallas Cowboys Dallas Cowboys Yes 50 0.6849

Individual Predictions

row

Individual Table

Individual Results
Week 6
Name Weekly # Correct Percent Weeks Picked Season Percent Adj Season Percent Season Trend
Week 1 Week 2 Week 3 Week 4 Week 5 Week 6
PABLO BURGOSRAMOS 9 11 10 12 7 12 0.8000 6 0.6703 0.6703
James Tierney 9 10 NA 10 10 12 0.8000 5 0.6623 0.5519
Justin Crick 11 11 11 13 8 11 0.7333 6 0.7143 0.7143
Ronald Schmidt 11 13 11 8 8 11 0.7333 6 0.6813 0.6813
Bradley Hobson 8 10 11 12 8 11 0.7333 6 0.6593 0.6593
Ryan Wiggins 8 11 11 12 7 11 0.7333 6 0.6593 0.6593
Brian Patterson 10 10 8 11 7 11 0.7333 6 0.6264 0.6264
Shelly Bailey 9 10 NA 10 8 11 0.7333 5 0.6234 0.5195
Charlene Redmer 9 9 NA 9 9 11 0.7333 5 0.6104 0.5087
Robert Gelo 6 9 10 10 9 11 0.7333 6 0.6044 0.6044
Jonathon Leslein 9 9 9 9 7 11 0.7333 6 0.5934 0.5934
Montee Brown 7 NA NA 9 9 11 0.7333 4 0.5902 0.3935
Daniel Major 8 13 6 7 8 11 0.7333 6 0.5824 0.5824
Alexander Santillan 5 NA 8 9 5 11 0.7333 5 0.5067 0.4223
Antonio Mitchell 10 12 NA 11 10 10 0.6667 5 0.6883 0.5736
Anthony Bloss 8 10 11 12 10 10 0.6667 6 0.6703 0.6703
Ryan Cvik 11 11 9 13 6 10 0.6667 6 0.6593 0.6593
MICHAEL BRANSON 8 11 10 12 9 10 0.6667 6 0.6593 0.6593
George Sweet 9 11 10 12 7 10 0.6667 6 0.6484 0.6484
Manuel Vargas 10 9 11 12 7 10 0.6667 6 0.6484 0.6484
George Mancini 7 12 10 10 9 10 0.6667 6 0.6374 0.6374
Eric Hahn 9 13 7 9 8 10 0.6667 6 0.6154 0.6154
Jason Schattel 7 10 9 11 9 10 0.6667 6 0.6154 0.6154
Cody Koerwitz 7 9 11 12 7 10 0.6667 6 0.6154 0.6154
James Small 8 8 13 9 8 10 0.6667 6 0.6154 0.6154
Steven Curtis NA NA 11 7 8 10 0.6667 4 0.6102 0.4068
Khalil Ibrahim 7 12 9 NA 7 10 0.6667 5 0.6000 0.5000
Gregory Flint 6 11 NA 11 8 10 0.6667 5 0.5974 0.4978
Stephen Bush 7 10 10 9 7 10 0.6667 6 0.5824 0.5824
DAVID PLATE 8 NA 8 9 8 10 0.6667 5 0.5733 0.4778
Min Choi 6 7 9 11 7 10 0.6667 6 0.5495 0.5495
James Blejski 8 11 10 14 NA 9 0.6000 5 0.6753 0.5628
Michael Moss 10 NA 11 13 7 9 0.6000 5 0.6667 0.5556
Chris Papageorge 11 11 11 10 8 9 0.6000 6 0.6593 0.6593
Gabriel Quinones 9 11 12 12 6 9 0.6000 6 0.6484 0.6484
Stephen Woolwine 8 13 9 NA NA 9 0.6000 4 0.6393 0.4262
Aubrey Conn 9 12 8 11 9 9 0.6000 6 0.6374 0.6374
Cheryl Brown 10 12 11 9 6 9 0.6000 6 0.6264 0.6264
William Schouviller 10 9 11 10 8 9 0.6000 6 0.6264 0.6264
Paul Presti 9 10 12 9 8 9 0.6000 6 0.6264 0.6264
Paul Shim 10 9 10 11 7 9 0.6000 6 0.6154 0.6154
Kevin Green 9 12 9 9 8 9 0.6000 6 0.6154 0.6154
Terry Hardison 10 10 9 11 7 9 0.6000 6 0.6154 0.6154
Brian Hollmann 8 13 8 9 8 9 0.6000 6 0.6044 0.6044
Yiming Hu 9 10 8 12 7 9 0.6000 6 0.6044 0.6044
Daniel Baller 6 12 11 9 8 9 0.6000 6 0.6044 0.6044
Bunnaro Sun 9 10 9 8 9 9 0.6000 6 0.5934 0.5934
Walter Archambo 7 10 10 11 7 9 0.6000 6 0.5934 0.5934
Pamela AUGUSTINE 11 13 6 9 6 9 0.6000 6 0.5934 0.5934
Anthony Brinson 10 11 8 6 10 9 0.6000 6 0.5934 0.5934
Matthew Schultz 8 NA 10 8 9 9 0.6000 5 0.5867 0.4889
Shawn Carden 9 12 6 9 8 9 0.6000 6 0.5824 0.5824
Thomas Brenstuhl 10 NA 8 8 8 9 0.6000 5 0.5733 0.4778
Robert Martin 10 9 6 NA 9 9 0.6000 5 0.5733 0.4778
Shaun Dahl 8 8 10 10 7 9 0.6000 6 0.5714 0.5714
Karen Coleman 7 10 NA 10 8 9 0.6000 5 0.5714 0.4762
Daniel Kuehl 6 10 8 11 7 9 0.6000 6 0.5604 0.5604
THOMAS MCCOY 8 10 9 7 8 9 0.6000 6 0.5604 0.5604
Brandon Parks 8 8 NA NA 9 9 0.6000 4 0.5574 0.3716
Derrick Zantt 11 6 7 NA 6 9 0.6000 5 0.5200 0.4333
Ramar Williams NA 11 11 9 8 8 0.5333 5 0.6267 0.5223
Kevin Kehoe 9 10 11 12 7 8 0.5333 6 0.6264 0.6264
Rahmatullah Sharifi 11 9 8 11 8 8 0.5333 6 0.6044 0.6044
Amy Asberry 8 9 10 9 9 8 0.5333 6 0.5824 0.5824
Steven Webster 8 8 6 8 9 8 0.5333 6 0.5165 0.5165
Cherylynn Vidal 10 9 9 12 9 7 0.4667 6 0.6154 0.6154
DERRICK ELAM 6 9 11 10 10 7 0.4667 6 0.5824 0.5824
Kristen White 7 13 8 11 6 7 0.4667 6 0.5714 0.5714
Justin Thrift 9 8 9 8 9 7 0.4667 6 0.5495 0.5495
Melissa Printup 8 NA 8 7 10 7 0.4667 5 0.5333 0.4444
Trevor MACGAVIN 6 10 8 NA 6 7 0.4667 5 0.4933 0.4111
Ryan Shipley 3 8 7 6 6 7 0.4667 6 0.4066 0.4066
Robert Lynch 9 9 6 10 10 6 0.4000 6 0.5495 0.5495
Michael Edmunds 10 12 10 10 NA NA 0.0000 4 0.6774 0.4516
Sarah Sweet 9 12 12 9 8 NA 0.0000 5 0.6579 0.5482
Kevin O'NEILL 8 11 11 13 7 NA 0.0000 5 0.6579 0.5482
David Spielman 8 NA 11 NA NA NA 0.0000 2 0.6333 0.2111
Vincent Scannelli 11 11 8 11 7 NA 0.0000 5 0.6316 0.5263
Carlos Caceres 10 NA NA NA NA NA 0.0000 1 0.6250 0.1042
John Plaster 8 12 8 10 NA NA 0.0000 4 0.6129 0.4086
WAYNE SCHOFIELD 12 9 7 NA 8 NA 0.0000 4 0.6000 0.4000
Rafael Torres 6 8 12 11 NA NA 0.0000 4 0.5968 0.3979
Earl Dixon 9 11 8 12 5 NA 0.0000 5 0.5921 0.4934
William Sherman 8 11 10 10 6 NA 0.0000 5 0.5921 0.4934
Daniel Halse 8 9 10 NA NA NA 0.0000 3 0.5870 0.2935
Donald Park 8 12 7 9 NA NA 0.0000 4 0.5806 0.3871
Patrick Tynan 8 8 10 11 7 NA 0.0000 5 0.5789 0.4824
Jamal Willis 8 10 NA NA NA NA 0.0000 2 0.5625 0.1875
Jason James 9 NA NA NA NA NA 0.0000 1 0.5625 0.0938
Michael Beck 9 NA NA NA NA NA 0.0000 1 0.5625 0.0938
Keithon Corpening 8 NA NA NA NA NA 0.0000 1 0.5000 0.0833
TYREE BUNDY 8 8 NA NA NA NA 0.0000 2 0.5000 0.1667
Edward Ford 6 8 NA NA NA NA 0.0000 2 0.4375 0.1458

Individual Plots

Season Leaderboard

Season Leaderboard (Season Percent)
Week 6
Season Rank Name Donuts Won Weeks Picked Season Percent Adj Season Percent Season Trend
1 Justin Crick 0 6 0.7143 0.7143
2 Antonio Mitchell 1 5 0.6883 0.5736
3 Ronald Schmidt 1 6 0.6813 0.6813
4 Michael Edmunds 0 4 0.6774 0.4516
5 James Blejski 1 5 0.6753 0.5628
6 Anthony Bloss 1 6 0.6703 0.6703
6 PABLO BURGOSRAMOS 1 6 0.6703 0.6703
8 Michael Moss 0 5 0.6667 0.5556
9 James Tierney 2 5 0.6623 0.5519
10 Bradley Hobson 0 6 0.6593 0.6593
10 Chris Papageorge 0 6 0.6593 0.6593
10 MICHAEL BRANSON 0 6 0.6593 0.6593
10 Ryan Cvik 0 6 0.6593 0.6593
10 Ryan Wiggins 0 6 0.6593 0.6593
15 Kevin O'NEILL 0 5 0.6579 0.5482
15 Sarah Sweet 0 5 0.6579 0.5482
17 Gabriel Quinones 0 6 0.6484 0.6484
17 George Sweet 0 6 0.6484 0.6484
17 Manuel Vargas 0 6 0.6484 0.6484
20 Stephen Woolwine 1 4 0.6393 0.4262
21 Aubrey Conn 0 6 0.6374 0.6374
21 George Mancini 0 6 0.6374 0.6374
23 David Spielman 0 2 0.6333 0.2111
24 Vincent Scannelli 0 5 0.6316 0.5263
25 Ramar Williams 0 5 0.6267 0.5223
26 Brian Patterson 0 6 0.6264 0.6264
26 Cheryl Brown 0 6 0.6264 0.6264
26 Kevin Kehoe 0 6 0.6264 0.6264
26 Paul Presti 0 6 0.6264 0.6264
26 William Schouviller 0 6 0.6264 0.6264
31 Carlos Caceres 0 1 0.6250 0.1042
32 Shelly Bailey 0 5 0.6234 0.5195
33 Cherylynn Vidal 0 6 0.6154 0.6154
33 Cody Koerwitz 0 6 0.6154 0.6154
33 Eric Hahn 1 6 0.6154 0.6154
33 James Small 1 6 0.6154 0.6154
33 Jason Schattel 0 6 0.6154 0.6154
33 Kevin Green 0 6 0.6154 0.6154
33 Paul Shim 0 6 0.6154 0.6154
33 Terry Hardison 0 6 0.6154 0.6154
41 John Plaster 0 4 0.6129 0.4086
42 Charlene Redmer 0 5 0.6104 0.5087
43 Steven Curtis 0 4 0.6102 0.4068
44 Brian Hollmann 1 6 0.6044 0.6044
44 Daniel Baller 0 6 0.6044 0.6044
44 Rahmatullah Sharifi 0 6 0.6044 0.6044
44 Robert Gelo 0 6 0.6044 0.6044
44 Yiming Hu 0 6 0.6044 0.6044
49 Khalil Ibrahim 0 5 0.6000 0.5000
49 WAYNE SCHOFIELD 1 4 0.6000 0.4000
51 Gregory Flint 0 5 0.5974 0.4978
52 Rafael Torres 0 4 0.5968 0.3979
53 Anthony Brinson 1 6 0.5934 0.5934
53 Bunnaro Sun 0 6 0.5934 0.5934
53 Jonathon Leslein 0 6 0.5934 0.5934
53 Pamela AUGUSTINE 1 6 0.5934 0.5934
53 Walter Archambo 0 6 0.5934 0.5934
58 Earl Dixon 0 5 0.5921 0.4934
58 William Sherman 0 5 0.5921 0.4934
60 Montee Brown 0 4 0.5902 0.3935
61 Daniel Halse 0 3 0.5870 0.2935
62 Matthew Schultz 0 5 0.5867 0.4889
63 Amy Asberry 0 6 0.5824 0.5824
63 DERRICK ELAM 1 6 0.5824 0.5824
63 Daniel Major 1 6 0.5824 0.5824
63 Shawn Carden 0 6 0.5824 0.5824
63 Stephen Bush 0 6 0.5824 0.5824
68 Donald Park 0 4 0.5806 0.3871
69 Patrick Tynan 0 5 0.5789 0.4824
70 DAVID PLATE 0 5 0.5733 0.4778
70 Robert Martin 0 5 0.5733 0.4778
70 Thomas Brenstuhl 0 5 0.5733 0.4778
73 Karen Coleman 0 5 0.5714 0.4762
73 Kristen White 1 6 0.5714 0.5714
73 Shaun Dahl 0 6 0.5714 0.5714
76 Jamal Willis 0 2 0.5625 0.1875
76 Jason James 0 1 0.5625 0.0938
76 Michael Beck 0 1 0.5625 0.0938
79 Daniel Kuehl 0 6 0.5604 0.5604
79 THOMAS MCCOY 0 6 0.5604 0.5604
81 Brandon Parks 0 4 0.5574 0.3716
82 Justin Thrift 0 6 0.5495 0.5495
82 Min Choi 0 6 0.5495 0.5495
82 Robert Lynch 1 6 0.5495 0.5495
85 Melissa Printup 1 5 0.5333 0.4444
86 Derrick Zantt 0 5 0.5200 0.4333
87 Steven Webster 0 6 0.5165 0.5165
88 Alexander Santillan 0 5 0.5067 0.4223
89 Keithon Corpening 0 1 0.5000 0.0833
89 TYREE BUNDY 0 2 0.5000 0.1667
91 Trevor MACGAVIN 0 5 0.4933 0.4111
92 Edward Ford 0 2 0.4375 0.1458
93 Ryan Shipley 0 6 0.4066 0.4066

Adjusted Season Leaderboard

Season Leaderboard (Adjusted Season Percent)
Week 6
Season Rank Name Donuts Won Weeks Picked Season Percent Adj Season Percent Season Trend
1 Justin Crick 0 6 0.7143 0.7143
2 Ronald Schmidt 1 6 0.6813 0.6813
3 Anthony Bloss 1 6 0.6703 0.6703
3 PABLO BURGOSRAMOS 1 6 0.6703 0.6703
5 Bradley Hobson 0 6 0.6593 0.6593
5 Chris Papageorge 0 6 0.6593 0.6593
5 MICHAEL BRANSON 0 6 0.6593 0.6593
5 Ryan Cvik 0 6 0.6593 0.6593
5 Ryan Wiggins 0 6 0.6593 0.6593
10 Gabriel Quinones 0 6 0.6484 0.6484
10 George Sweet 0 6 0.6484 0.6484
10 Manuel Vargas 0 6 0.6484 0.6484
13 Aubrey Conn 0 6 0.6374 0.6374
13 George Mancini 0 6 0.6374 0.6374
15 Brian Patterson 0 6 0.6264 0.6264
15 Cheryl Brown 0 6 0.6264 0.6264
15 Kevin Kehoe 0 6 0.6264 0.6264
15 Paul Presti 0 6 0.6264 0.6264
15 William Schouviller 0 6 0.6264 0.6264
20 Cherylynn Vidal 0 6 0.6154 0.6154
20 Cody Koerwitz 0 6 0.6154 0.6154
20 Eric Hahn 1 6 0.6154 0.6154
20 James Small 1 6 0.6154 0.6154
20 Jason Schattel 0 6 0.6154 0.6154
20 Kevin Green 0 6 0.6154 0.6154
20 Paul Shim 0 6 0.6154 0.6154
20 Terry Hardison 0 6 0.6154 0.6154
28 Brian Hollmann 1 6 0.6044 0.6044
28 Daniel Baller 0 6 0.6044 0.6044
28 Rahmatullah Sharifi 0 6 0.6044 0.6044
28 Robert Gelo 0 6 0.6044 0.6044
28 Yiming Hu 0 6 0.6044 0.6044
33 Anthony Brinson 1 6 0.5934 0.5934
33 Bunnaro Sun 0 6 0.5934 0.5934
33 Jonathon Leslein 0 6 0.5934 0.5934
33 Pamela AUGUSTINE 1 6 0.5934 0.5934
33 Walter Archambo 0 6 0.5934 0.5934
38 Amy Asberry 0 6 0.5824 0.5824
38 DERRICK ELAM 1 6 0.5824 0.5824
38 Daniel Major 1 6 0.5824 0.5824
38 Shawn Carden 0 6 0.5824 0.5824
38 Stephen Bush 0 6 0.5824 0.5824
43 Antonio Mitchell 1 5 0.6883 0.5736
44 Kristen White 1 6 0.5714 0.5714
44 Shaun Dahl 0 6 0.5714 0.5714
46 James Blejski 1 5 0.6753 0.5628
47 Daniel Kuehl 0 6 0.5604 0.5604
47 THOMAS MCCOY 0 6 0.5604 0.5604
49 Michael Moss 0 5 0.6667 0.5556
50 James Tierney 2 5 0.6623 0.5519
51 Justin Thrift 0 6 0.5495 0.5495
51 Min Choi 0 6 0.5495 0.5495
51 Robert Lynch 1 6 0.5495 0.5495
54 Kevin O'NEILL 0 5 0.6579 0.5482
54 Sarah Sweet 0 5 0.6579 0.5482
56 Vincent Scannelli 0 5 0.6316 0.5263
57 Ramar Williams 0 5 0.6267 0.5223
58 Shelly Bailey 0 5 0.6234 0.5195
59 Steven Webster 0 6 0.5165 0.5165
60 Charlene Redmer 0 5 0.6104 0.5087
61 Khalil Ibrahim 0 5 0.6000 0.5000
62 Gregory Flint 0 5 0.5974 0.4978
63 Earl Dixon 0 5 0.5921 0.4934
63 William Sherman 0 5 0.5921 0.4934
65 Matthew Schultz 0 5 0.5867 0.4889
66 Patrick Tynan 0 5 0.5789 0.4824
67 DAVID PLATE 0 5 0.5733 0.4778
67 Robert Martin 0 5 0.5733 0.4778
67 Thomas Brenstuhl 0 5 0.5733 0.4778
70 Karen Coleman 0 5 0.5714 0.4762
71 Michael Edmunds 0 4 0.6774 0.4516
72 Melissa Printup 1 5 0.5333 0.4444
73 Derrick Zantt 0 5 0.5200 0.4333
74 Stephen Woolwine 1 4 0.6393 0.4262
75 Alexander Santillan 0 5 0.5067 0.4223
76 Trevor MACGAVIN 0 5 0.4933 0.4111
77 John Plaster 0 4 0.6129 0.4086
78 Steven Curtis 0 4 0.6102 0.4068
79 Ryan Shipley 0 6 0.4066 0.4066
80 WAYNE SCHOFIELD 1 4 0.6000 0.4000
81 Rafael Torres 0 4 0.5968 0.3979
82 Montee Brown 0 4 0.5902 0.3935
83 Donald Park 0 4 0.5806 0.3871
84 Brandon Parks 0 4 0.5574 0.3716
85 Daniel Halse 0 3 0.5870 0.2935
86 David Spielman 0 2 0.6333 0.2111
87 Jamal Willis 0 2 0.5625 0.1875
88 TYREE BUNDY 0 2 0.5000 0.1667
89 Edward Ford 0 2 0.4375 0.1458
90 Carlos Caceres 0 1 0.6250 0.1042
91 Jason James 0 1 0.5625 0.0938
91 Michael Beck 0 1 0.5625 0.0938
93 Keithon Corpening 0 1 0.5000 0.0833

Data

---
title: "2023 NFL Moneyline Picks"
output: 
  flexdashboard::flex_dashboard:
    theme:
      version: 4
      bootswatch: spacelab
    orientation: rows
    vertical_layout: fill
    social: ["menu"]
    source_code: embed
    navbar:
      - { title: "Created by: Daniel Baller", icon: "fa-github", href: "https://github.com/danielpballer"  }
---


```{r setup, include=FALSE}
#    source_code: embed
library(flexdashboard)
library(tidyverse)
library(data.table)
library(formattable)
library(ggpubr)
library(ggrepel)
library(gt)
library(glue)
library(ggthemes)
library(hrbrthemes)
library(sparkline)
library(plotly)
library(htmlwidgets)
library(mdthemes)
library(ggtext)
library(ggnewscale)
library(DT)
source("./Functions/functions2.R")

thematic::thematic_rmd(font = "auto")

```

```{r Reading in our picks files, include=FALSE}
current_week = 6 #Set what week it is
week_1 = read_csv("./CSV_Data_Files/2023 NFL Week 1.csv")
week_2 = read_csv("./CSV_Data_Files/2023 NFL Week 2.csv")
week_3 = read_csv("./CSV_Data_Files/2023 NFL Week 3.csv")
week_4 = read_csv("./CSV_Data_Files/2023 NFL Week 4.csv")
week_5 = read_csv("./CSV_Data_Files/2023 NFL Week 5.csv")
week_6 = read_csv("./CSV_Data_Files/2023 NFL Week 6.csv")
# week_7 = read_csv("./CSV_Data_Files/2023 NFL Week 7.csv")
# week_8 = read_csv("./CSV_Data_Files/2023 NFL Week 8.csv")
# week_9 = read_csv("./CSV_Data_Files/2023 NFL Week 9.csv")
# week_10 = read_csv("./CSV_Data_Files/2023 NFL Week 10.csv")
# week_11 = read_csv("./CSV_Data_Files/2023 NFL Week 11.csv")
# week_12 = read_csv("./CSV_Data_Files/2023 NFL Week 12.csv")
# week_13 = read_csv("./CSV_Data_Files/2023 NFL Week 13.csv")
# week_14 = read_csv("./CSV_Data_Files/2023 NFL Week 14.csv")
# week_15 = read_csv("./CSV_Data_Files/2023 NFL Week 15.csv")
# week_16 = read_csv("./CSV_Data_Files/2023 NFL Week 16.csv")
# week_17 = read_csv("./CSV_Data_Files/2023 NFL Week 17.csv")
# week_18 = read_csv("./CSV_Data_Files/2023 NFL Week 18.csv")
# week_19 = read_csv("./CSV_Data_Files/2023 NFL Wild Card.csv")
# week_20 = read_csv("./CSV_Data_Files/2023 NFL Divisional Round.csv")
# week_21 = read_csv("./CSV_Data_Files/2023 NFL Conference Round.csv")
# week_22 = read_csv("./CSV_Data_Files/2023 NFL Super Bowl.csv")

#reading in scores
Scores = read_csv(glue::glue("./CSV_Data_Files/NFL_Scores_{current_week}.csv")) 

#reading in CBS Prediction Records
cbs = read_csv(glue::glue("./CSV_Data_Files/CBS_Experts_{current_week}.csv")) %>% 
  mutate(Percent = round(Percent,4))
cbs_season = read_csv(glue::glue("./CSV_Data_Files/CBS_Experts_Season_{current_week}.csv"))

#reading in ESPN Prediction Records
espn = read_csv(glue::glue("./CSV_Data_Files/ESPN_Experts_{current_week}.csv"))%>% 
  mutate(Percent = round(Percent,4))
espn_season = read_csv(glue::glue("./CSV_Data_Files/ESPN_Experts_Season_{current_week}.csv"))%>% 
  mutate(Percent = round(Percent,4))

#Odds not working for the 2023 season.  Need to fix scrape code for next year.
#Reading in the moneyline odds for each team and cleaning the team names
# odds_wk1 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_1.csv"))
# odds_wk2 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_2.csv"))
# odds_wk3 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_3.csv"))
# odds_wk4 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_4.csv"))
# odds_wk5 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_5.csv"))
# odds_wk6 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_6.csv"))
# odds_wk7 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_7.csv"))
# odds_wk8 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_8.csv"))
# odds_wk9 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_9.csv"))
# odds_wk10 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_10.csv"))
# odds_wk11 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_11.csv"))
# odds_wk12 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_12.csv"))
# odds_wk13 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_13.csv"))
# odds_wk14 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_14.csv"))
# odds_wk15 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_15.csv"))
# odds_wk16 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_16.csv"))
# odds_wk17 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_17.csv"))
# odds_wk18 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_18.csv"))
# odds_wk19 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_19.csv"))
# odds_wk20 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_20.csv"))
# odds_wk21 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_21.csv"))
# odds_wk22 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_22.csv"))

####################UPDATE THESE###############################
inst.picks = list(week_1, week_2, week_3, week_4, week_5, week_6)#, week_7, week_8, week_9, week_10, week_11, week_12, week_13, week_14, week_15, week_16, week_17, week_18, week_19, week_20, week_21) #add in the additional weeks
# odds = rbind(odds_wk1, odds_wk2, odds_wk3, odds_wk4, odds_wk5, odds_wk6, odds_wk7, odds_wk8,
#              odds_wk9, odds_wk10, odds_wk11, odds_wk12) #add in the additional weeks
####################END OF UPDATE##############################

weeks = as.list(seq(1:current_week)) #creating a list of each week number
```

```{r read in scores clean data, include=FALSE}
#Cleaning Odds Data
# cl_odds = odds_cleaning(odds)

#Cleaning scores data
Scores = cleaning2(Scores)

#creating a list of winners for each week
winners = map(weeks, weekly_winners)

#creating a vector of this weeks winners
this_week = pull(winners[[length(winners)]])  

#Getting the number of games for each week
weekly_number_of_games = map_dbl(weeks, week_number_games)
```

```{r Group Predictions, include=FALSE}
#Creating the list of everyones predictions each week.
games = map(inst.picks, games_fn)

#Creating the prediction table.  
pred_table = map(games, pred_table_fn)

#Adding who won to the predictions
with_winners = map2(pred_table, winners, adding_winners)

#Creating results for each week.
results = map2(with_winners,weekly_number_of_games, results_fn)
```


```{r Displaying Group Results, echo=FALSE}
#Displaying the group results

inst_group_table = results[[length(results)]] %>% gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("This Week's Predictions"),
    #subtitle = md(glue("Week {length(results)}"))
    ) %>% 
   tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(Correct),
      rows = Correct =="No"
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(Correct),
      rows = Correct =="Yes"
    )) %>% 
  tab_options(
    data_row.padding = px(3),
    container.height = "100%"
   )
```

```{r Weekly and season Group Results, include=FALSE}
# Printing the weekly and season win percentage     

#how many games correct, incorrect, and not picked each week
weekly_group_correct = map(results, weekly_group_correct_fn)  

#how many games were picked each week
weekly_games_picked = map2(weekly_group_correct, weekly_number_of_games, weekly_games_picked_fn)

#Calculating the number of correct picks for each week
weekly_group_correct_picks = map(weekly_group_correct, weekly_group_correct_picks_fn)

#Calculating weekly win percentage
weekly_win_percentage = map2(weekly_group_correct_picks, weekly_games_picked, weekly_win_percentage_fn)

#Calculating season win percentage
season_win_percentage = round(sum(unlist(weekly_group_correct_picks))/sum(unlist(weekly_games_picked)),4)

#Calculating number of games picked this season
season_games = sum(unlist(weekly_games_picked))

#calculating season wins
season_wins = sum(unlist(weekly_group_correct_picks))

#calculating the number of people who picked this week
Total = dim(inst.picks[[length(weeks)]])[1]
```

```{r plotting group results, include=FALSE}
#Previous Weeks
group_season_for_plotting = unlist(weekly_win_percentage) %>% as.data.frame() %>% 
  rename(`Win Percentage` = ".") %>% 
  add_column(Week = unlist(weeks))
```

```{r Plotting the group results, echo=FALSE}
inst_group_season_plot = group_season_for_plotting %>% 
ggplot(aes(x = as.factor(Week), y = `Win Percentage`))+
  geom_point()+
  geom_path(aes(x = Week))+
  ylim(c(0, 1)) +
  xlab("NFL Week") + 
  ylab("Correct Percentage")+
  ggtitle("Weekly Group Correct Percentage")+
  theme_classic()+
  theme(plot.title = element_text(hjust = 0.5, size = 18))
```

```{r beating cbs week, include=FALSE}
#Creating a list of correct percentages for each week.
cbs_weekly_percent = map(weeks, cbs_percent)

#Creating a list of how many cbs experts we beat each week.
cbs_experts_beat = map2(cbs_weekly_percent, weekly_win_percentage, experts_beat)

#Creating a list of how many cbs experts picked each week.  
cbs_experts_total = map(cbs_weekly_percent, experts_tot)
```

```{r beating cbs season, include=FALSE}
#Creating a list of correct percentages for each week.
cbs_season_percent = map(weeks, cbs_season_percent)

#Creating a list of how many cbs experts we beat each week.
cbs_experts_beat_season = map2(cbs_season_percent, season_win_percentage, experts_beat)

#Creating a list of how many cbs experts picked each week.  
cbs_experts_season_total = map(cbs_season_percent, experts_tot)
```

```{r beating ESPN week, include=FALSE}
#Creating a list of correct percentages for each week.
espn_weekly_percent = map(weeks, espn_percent)

#Creating a list of how many cbs experts we beat each week.
espn_experts_beat = map2(espn_weekly_percent, weekly_win_percentage, experts_beat)

#Creating a list of how many cbs experts picked each week.  
espn_experts_total = map(espn_weekly_percent, experts_tot)
```

```{r beating ESPN season, include=FALSE}
#Creating a list of correct percentages for each week.
espn_season_percent = map(weeks, espn_season_percent)

#Creating a list of how many cbs experts we beat each week.
espn_experts_beat_season = map2(espn_season_percent, season_win_percentage, experts_beat)

#Creating a list of how many cbs experts picked each week.  
espn_experts_season_total = map(espn_season_percent, experts_tot)
```

```{r individual results, include=FALSE}
#Creating a list of individual results for each week.
weekly_indiv = pmap(list(inst.picks, winners, weeks), indiv_weekly_pred)

#Combining each week into one dataframe and calculating percentage Correct for this week.  
full_season = weekly_indiv %>% reduce(full_join, by = "Name") %>% 
  mutate(Percent = round(pull(.[,ncol(.)]/weekly_number_of_games[[length(weekly_number_of_games)]]),4)) 

#Creating a dataframe with only the weekly picks
a = full_season %>% select(starts_with("Week"))

#Creating a vector of how many weeks each person picked over the season
tot_week = NULL
help = NULL
for (i in 1:dim(a)[1]){
  for(j in 1:length(a)){
    help[j] = ifelse(is.na(a[i,j])==T,0,1)
    tot_week[i] = sum(help)
  }
}

#Creating a vector of how many games each person picked over the season
tot_picks= NULL
help = NULL
for (i in 1:dim(a)[1]){
  for(j in 1:length(a)){
    help[j] = unlist(weekly_games_picked)[j]*ifelse(is.na(a[i,j])==T,0,1)
    tot_picks[i] = sum(help)
  }
}

#Creatign a vector of how many games each person picked correct over the season
tot_correct = NULL
help = NULL
for (i in 1:dim(a)[1]){
  tot_correct[i] = sum(a[i,], na.rm = T)
}

#adding how many weeks each person picked, season correct percentage, and adjusted season percentag to the data frame and sorting the data
indiv_disp = full_season %>% add_column(`Weeks Picked` = tot_week) %>%
  add_column(tot_correct)%>%
  add_column(tot_picks)%>%
  mutate(`Season Percent` = round(tot_correct/tot_picks,4))%>%
  mutate(`Adj Season Percent` = round(`Season Percent`*(tot_week/length(a)),4)) %>%
  select(-tot_correct, -tot_picks) %>%
  arrange(desc(Percent), desc(`Season Percent`)) %>%
  mutate(Percent = ifelse(is.na(Percent)==T, 0, Percent))
```


```{r individual percentages, include=FALSE}
#Calculating individual percentages for each week.
weekly_indiv_percent = map2(weekly_indiv, as.list(weekly_number_of_games), indiv_percent) %>% reduce(full_join, by = "Name")

weekly_indiv_percent_plot = weekly_indiv_percent %>% 
  pivot_longer(cols = starts_with("Week"), names_to = "Week", values_to = "Percent")%>%
  mutate(Percent = ifelse(is.na(Percent)==T, 0, Percent)) %>% 
  mutate(Week = as.factor(Week))

levels = NULL
for(i in 1:length(weeks)){
  levels[i] = glue("Week {i}")  
}

weekly_indiv_percent_plot = weekly_indiv_percent_plot %>%
  mutate(Week = factor(Week, levels))
```

```{r sparklines, include=FALSE}
#adding sparklines
plot_group = function(name, df){
  plot_object = 
    ggplot(data = df,
           aes(x = as.factor(Week), y=Percent, group = 1))+
    geom_path(size = 7)+
    scale_y_continuous(limits = c(0,1))+
    theme_void()+
    theme(legend.position = "none")
  return(plot_object)
}

sparklines = 
  weekly_indiv_percent_plot %>% 
  group_by(Name) %>% 
  nest() %>% 
  mutate(plot = map2(Name, data, plot_group)) %>% 
  select(-data)
  
indiv_disp_2 = indiv_disp %>% 
  inner_join(sparklines, by = "Name") %>% 
  mutate(`Season Trend` = NA)
```

```{r Printing Individual Table2, echo=FALSE}
# Printing the individual Table
indiv_table = indiv_disp_2 %>% gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("Individual Results"),
    subtitle = md(glue("Week {length(weeks)}"))
    ) %>% 
   tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(Percent),
      rows = Percent<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(Percent),
      rows = Percent>.5
    )) %>% 
     tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`>.5
    ))%>% 
     tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`>.5
    )) %>% 
  tab_options(
    container.width = pct(100),
    data_row.padding = px(1),
    container.height = "100%"
   ) %>%
    tab_spanner(
    label = "Weekly # Correct",
    columns = starts_with(c("Week "))
  ) %>% 
  text_transform(
    locations = cells_body(c(`Season Trend`)),
    fn = function(x){
      map(indiv_disp_2$plot, ggplot_image, height = px(30), aspect_ratio = 4)
                 }) %>%
  cols_hide(c(plot))

indiv_winners = indiv_disp_2 %>% filter(Percent == max(Percent)) %>% select(Name) %>% pull() %>% paste(collapse = ", ")
indiv_season = indiv_disp_2 %>% filter(`Season Percent` == max(`Season Percent`)) %>% select(Name) %>% pull() %>% paste(collapse = ", ")
indiv_season_adj = indiv_disp_2 %>% filter(`Adj Season Percent` == max(`Adj Season Percent`)) %>% select(Name) %>% pull()%>% paste(collapse = ", ")
```

```{r Printing Season Leaderboard, echo=FALSE}
# Printing the Season Leaderboard
  
season_leaderboard = indiv_disp_2 %>% select(Name, starts_with("Week ")) %>% 
  pivot_longer(starts_with("Week"),names_to = "Week", values_to = "Correct") %>% 
  group_by(Week) %>% 
  mutate(Correct = case_when(is.na(Correct)==T~0, 
                             TRUE~Correct)) %>% 
  mutate(Donut = case_when(Correct==max(Correct)~1,
                           TRUE~0))  %>% 
  ungroup() %>% 
  group_by(Name) %>% 
  summarise(`Donuts Won` = sum(Donut)) %>% 
  #mutate(`Donuts Won` = strrep("award,", Donuts)) %>% 
  right_join(.,indiv_disp_2) %>% 
  select(-starts_with("Week "), -Percent) %>% 
  mutate(`Season Rank` = min_rank(desc(`Season Percent`)),.before = Name) %>% 
  arrange(`Season Rank`) %>% 
  gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("Season Leaderboard (Season Percent)"),
    subtitle = md(glue("Week {length(weeks)}"))
    ) %>% 
  # fmt_icon(
  #   columns = `Donuts Won`,
  #   fill_color = "gold",
  # ) %>%
  tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`>.5
    ))%>% 
     tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`>.5
    )) %>% 
  tab_options(
    container.width = pct(100),
    data_row.padding = px(1),
    container.height = "100%"
   ) %>%
    tab_spanner(
    label = "Weekly # Correct",
    columns = starts_with(c("Week "))
  ) %>% 
  text_transform(
    locations = cells_body(c(`Season Trend`)),
    fn = function(x){
      map(indiv_disp_2$plot, ggplot_image, height = px(30), aspect_ratio = 4)
                 }) %>%
  cols_hide(columns = c(plot))
```

```{r Printing Adj Season Leaderboard, echo=FALSE}
# Printing the Adj Season Leaderboard
  
adj_season_leaderboard = indiv_disp_2 %>% select(Name, starts_with("Week ")) %>% 
  pivot_longer(starts_with("Week"),names_to = "Week", values_to = "Correct") %>% 
  group_by(Week) %>% 
  mutate(Correct = case_when(is.na(Correct)==T~0, 
                             TRUE~Correct)) %>% 
  mutate(Donut = case_when(Correct==max(Correct)~1,
                           TRUE~0))  %>% 
  ungroup() %>% 
  group_by(Name) %>% 
  summarise(`Donuts Won` = sum(Donut)) %>% 
  #mutate(`Donuts Won` = strrep("award,", Donuts)) %>% 
  right_join(.,indiv_disp_2) %>% 
  select(-starts_with("Week "), -Percent) %>% 
  mutate(`Season Rank` = min_rank(desc(`Adj Season Percent`)),.before = Name) %>% 
  arrange(`Season Rank`) %>% 
  gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("Season Leaderboard (Adjusted Season Percent)"),
    subtitle = md(glue("Week {length(weeks)}"))
    ) %>% 
  # fmt_icon(
  #   columns = `Donuts Won`,
  #   fill_color = "gold",
  # ) %>%
  tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`>.5
    ))%>% 
     tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`>.5
    )) %>% 
  tab_options(
    container.width = pct(100),
    data_row.padding = px(1),
    container.height = "100%"
   ) %>%
    tab_spanner(
    label = "Weekly # Correct",
    columns = starts_with(c("Week "))
  ) %>% 
  text_transform(
    locations = cells_body(c(`Season Trend`)),
    fn = function(x){
      map(indiv_disp_2$plot, ggplot_image, height = px(30), aspect_ratio = 4)
                 }) %>%
  cols_hide(columns = c(plot))

```


```{r instructor formattable, echo=FALSE}
improvement_formatter <- 
  formatter("span", 
            style = x ~ formattable::style(
              font.weight = "bold", 
              color = ifelse(x > .5, "green", ifelse(x < .5, "red", "black"))),
             x ~ icontext(ifelse(x == max(x), "star", ""), x))

indiv_disp_3 = indiv_disp_2 %>% select(-plot)
indiv_disp_3$`Season Trend` = apply(indiv_disp_3[,2:(1+length(weeks))], 1, FUN = function(x) as.character(htmltools::as.tags(sparkline(as.numeric(x), type = "line", chartRangeMin = 0, chartRangeMax = 1, fillColor = "white"))))

indiv_table_2 = as.htmlwidget(formattable(indiv_disp_3, 
                                align = c("l", rep("c", NROW(indiv_disp_3)-1)),
              list(`Season Percent` = color_bar("#FA614B"),
              `Season Percent`= improvement_formatter,
              `Adj Season Percent`= improvement_formatter)))
              
indiv_table_2$dependencies = c(indiv_table_2$dependencies, htmlwidgets:::widget_dependencies("sparkline", "sparkline"))
```

```{r Plotting individual results over the season2, echo=FALSE, out.width = "100%"}
#Creating the individual plot.  
inst_indiv_plots = weekly_indiv_percent_plot %>% 
  ggplot(aes(x = factor(Week), y = Percent, color = Name))+
  geom_point()+
  geom_path(aes(x = as.factor(Week), y = Percent, color = Name, 
                group = Name))+
  ylim(c(0, 1)) +
  labs(x = "NFL Week", 
       y = "Correct Percentage", 
       title = "Weekly Individual Correct Percentage")+
  facet_wrap(~Name)+
  theme_classic()+
  theme(legend.position = "none",
        plot.title = element_text(hjust = 0.5, size = 18),
        axis.text.x=element_text(angle =45, vjust = 1, hjust = 1))
```

```{r data for data page}
inst.data = map2(inst.picks, weeks, disp_data) %>% bind_rows()
```


```{r fivethirtyeight}
inst_538 = map(results, five38) %>% unlist() %>% sum()
```

```{r pregame, eval=FALSE, include=FALSE}
#Predictions for the week

#Creating the list of group predictions each week.
games = map(inst.picks, games_fn)

#Creating the prediction table.  
pred_table = map(games, pred_table_fn)

#Printing table of instructor predictions
pred_table[[length(pred_table)]] %>% mutate(Game = row_number()) %>% 
  rename(`Votes For` = votes_for, `Votes Against` = votes_against) %>% 
  gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("This Week's Predictions"),
    subtitle = md(glue("Week {length(weeks)}"))
    ) %>% 
   tab_options(
    data_row.padding = px(3)
   )
```

Group Predictions
==========================================================================

Sidebar {.sidebar} 
-------------------------------------
#### CBS Sports

<font size="4">

This week we beat or tied `r cbs_experts_beat[[length(weeks)]]` of `r cbs_experts_total[[length(weeks)]]` CBS Sports' Experts.

For the season we are currently beating or tied with `r cbs_experts_beat_season[[length(weeks)]]` of `r cbs_experts_season_total[[length(weeks)]]` CBS Sports' Experts.
 
 </font>


#### ESPN

<font size="4">

We also beat or tied `r espn_experts_beat[[length(weeks)]]` of `r espn_experts_total[[length(weeks)]]` ESPN Experts.
 
For the season we are currently beating or tied with `r espn_experts_beat_season[[length(weeks)]]` of `r espn_experts_season_total[[length(weeks)]]` ESPN Experts.

</font>

Row
--------------------------------------

### Win percentage for the week

```{r}
inst_rate <- weekly_win_percentage[[length(weekly_win_percentage)]]*100
gauge(inst_rate, min = 0, max = 100, symbol = '%', gaugeSectors(
  success = c(55, 100), warning = c(40, 54), danger = c(0, 39)
))
```

### Season Win Percentage

```{r}
inst_season <- season_win_percentage*100
gauge(inst_season, min = 0, max = 100, symbol = '%', gaugeSectors(
  success = c(55, 100), warning = c(40, 54), danger = c(0, 39)
))
```

### Games Correct
```{r}
valueBox(value = season_wins,icon = "fa-trophy",caption = "Correct Games this Season")
```

### Games Picked
```{r}
valueBox(value = season_games,icon = "fa-clipboard-list",caption = "Games Picked this Season")
```

### Number of predictions
```{r}
valueBox(value = Total,icon = "fa-users",caption = "Predictions this week")
```

Row
--------------------------------------

### 

```{r}
inst_group_table
```

### 

```{r}
ggplotly(inst_group_season_plot) %>% 
  layout(title = list(y = .93, xref = "plot"),
         margin = list(t = 40))
```

Individual Predictions
==========================================================================


Sidebar {.sidebar} 
-------------------------------------

#### Best Picks of the Week.

<font size="4">

 `r indiv_winners`
 
 </font>
 
#### Best Season Correct Percentage
<font size="4">

`r indiv_season`
 
 </font>

#### Best Adjusted Season Correct Percentage
<font size="4">

`r indiv_season_adj`

 * Adjusted season percentage accounts for the number of weeks picked.
 
 </font>

row {.tabset}
--------------------------------------

### Individual Table
```{r}
indiv_table
```

<!--
### Individual Table2

```{r, out.height="100%"}
indiv_table_2
```

-->

### Individual Plots
```{r, out.width="100%"}
ggplotly(inst_indiv_plots)
```

### Season Leaderboard
```{r, out.width="100%"}
season_leaderboard
```

### Adjusted Season Leaderboard
```{r, out.width="100%"}
adj_season_leaderboard
```

Data
==========================================================================

```{r}
datatable(
  inst.data, extensions = 'Buttons', options = list(
    dom = 'Blfrtip',
    buttons = c('copy', 'csv', 'excel', 'pdf', 'print'),
    lengthMenue = list( c(10, 25, 50, 100, -1), c(10, 25, 50, 100, "All") )
  )
)
```